package com.qixiaobao.nondirect.settle.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qixiaobao.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description 保费结算 实体类
 * @Author yangxm
 * @Date 2025/6/27 16:17
 */
@Data
public class InsureFee extends BaseEntity {

    /** 主键ID */
    private Long id;
    private Long supplyId;
    /** 供应商 */
    private String supplyName;
    /** 供应商简称 */
    private String supplyShortName;
    /** 付款单位id */
    private Long payCompanyId;
    /** 付款单位名称 */
    private String payCompanyName;
    /** 实际付款单位id */
    private Long actualPayCompanyId;
    /** 实际付款单位名称 */
    private String actualPayCompanyName;
    /** 增员人数 */
    private Integer addNum;
    /** 减员人数 */
    private Integer minusNum;
    /** 结算人数 */
    private String settlePerson;
    /** 预回票日期 */
    private String invoiceReturnDate;
    /** 费用总计 */
    private BigDecimal insureFeeTotal;
    /** 实付保费 */
    private BigDecimal actualInsureFee;
    /** 财务计入 */
    private String financeReckon;
    private String financeReckonVal;
    /** 付款类型（1单独付款，2预付抵扣，3保单退款，4预付款） */
    private String insureFeePayType;
    private String insureFeePayTypeVal;
    /** 保费归属期  */
    private String insureFeeMonth;
    /** 备注操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date remarkTime;
    /** 备注操作人 */
    private String remarkOperator;
    /** 付款时间  */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;
    /** 回单编号 */
    private String billNums;
    /** 付款时间 */
    private String transDateTimes;
    /** 回单金额 */
    private String transAmounts;
    /** 保费结算状态（0待支付1已结算） */
    private String insureFeeStatus;
    /** 付款凭证 owner */
    private String paymentProof;

    /** 银行回单文件集合 */
    private List<InsureFeeReceipt> insureFeeReceiptList;

    /** 费用ID集合 */
    private List<Long> chargeIdList;
    /** 供应商id集合 */
    private List<Long> supplyIdList;
}
